import { ref } from "vue";
import { useStore } from "vuex";

/**
 * 获取服务信息（发单者）请求
 * @returns { handleGetPersonalInfo, isLoading }
 */
export function useGetPersonalInfo() {

    const isLoading = ref(false); // 加载状态

    const store = useStore(); // 获取 Vuex Store 实例

    const handleGetPersonalInfo = async () => {
        isLoading.value = true; // 设置加载状态为 true

        try {
            // 调用 Vuex 中的 getPersonalInfo action
            const response = await store.dispatch("getPersonalInfo");
            if (! response.success) {
                alert(response.message || "信息获取失败");
            }
        } catch (error) {
            console.error("获取失败:", error);
            alert("信息获取失败，请检查网络或稍后再试");
        } finally {
            isLoading.value = false; // 重置加载状态
        }
    };

    // 返回封装的响应式变量和方法
    return {
        handleGetPersonalInfo,
        isLoading,
    };
}
